1. Field of the Invention
The present invention relates generally to the field of testing of integrated circuits, and more specifically to a sequential scan technique which leads to enhanced fault coverage in an integrated circuit
2. Related Art
Sequential scan techniques are often used to test integrated circuits. According to a typical sequential scan technique, integrated circuits are designed to operate in functional mode or test mode. In functional mode, elements in the integrated circuit are connected according to a desired design/topology and to provide a desired utility for which the integrated circuit is primarily designed.
In a test mode, the integrated circuit is designed to connect various memory elements (contained in the integrated circuit) such as flip-flops in a sequence referred to as a “scan chain” (i.e., the output of one elements is connected as an input to the next element). Integrated circuits are often provided with a scan enable signal/terminal to switch the connections of scan elements (flip-flops) from functional mode to test mode.
In an embodiment, a logic high on the scan enable signal may connect the scan elements in a scan chain for loading /unloading the scan chain. On the other hand, a logic low on scan enable signal may connect the scan elements in functional mode. The first element in the scan chain is generally designed to receive the input bits and the last element of the scan chain is designed to scan out the results of evaluation, as described below.
In a typical scan test scenario, the scan enable signal is first set to logic high and number of bits in a particular pattern of zeros and ones (scan vector) are sequentially (one bit at every clock cycle) loaded (scanned in) into scan chain through the first element. The number of bits contained in the scan vector generally equals the number of memory elements in a corresponding scan chain.
Once a scan chain is loaded with a scan vector, the scan enable signal is set to logic low. The integrated circuit is operated in functional mode for desired number of clock pulses. In the functional mode, the elements (generally the combinatorial logic) in the integrated circuit are evaluated based on the scanned in bits. The flip-flops are designed to latch the results of the evaluation.
The scan enable signal is once again set to logic high and the bits latched in the scan chain are sequentially unloaded (scanned out) one bit at every clock cycle through the last element in the scan chain. Often the loading of scan vector and unloading of results are performed in parallel. For example, while a new scan vector is loaded, the result from the previous evaluation is unloaded.
The received scan out is compared with an expected scan out corresponding to the scan vector to determine the various faults within the integrated circuit. Number of faults detected by a scan chain and corresponding set of scan vectors is referred to as fault coverage.
In a very large scale integrated circuit, multiple number of scan chains are used to obtain larger fault coverage in the integrated circuit. The scan chains may be operated in parallel to reduce (or avoid increase in) the test time.
However, increase in the number of scan chains or size of scan vector(s) results in the increase in cost and time for testing the integrated circuit. Accordingly what is needed is a sequential scan technique providing enhanced fault coverage in an integrated circuit.
In the drawings, like reference numbers generally indicate identical, functionally similar, and/or structurally similar elements. The drawing in which an element first appears is indicated by the leftmost digit(s) in the corresponding reference number.